Functions | |
| void | sceGuDepthBuffer (void *zbp, int zbw) |
| Set depth buffer parameters. | |
| void | sceGuDispBuffer (int width, int height, void *dispbp, int dispbw) |
| Set display buffer parameters. | |
| void | sceGuDrawBuffer (int psm, void *fbp, int fbw) |
| Set draw buffer parameters (and store in context for buffer-swap). | |
| void | sceGuDrawBufferList (int psm, void *fbp, int fbw) |
| Set draw buffer directly, not storing parameters in the context. | |
| int | sceGuDisplay (int state) |
| Turn display on or off. | |
| void | sceGuDepthFunc (int function) |
| Select which depth-test function to use. | |
| void | sceGuDepthMask (int mask) |
| Mask depth buffer writes. | |
| void | sceGuDepthOffset (unsigned int offset) |
| void | sceGuDepthRange (int near, int far) |
| Set which range to use for depth calculations. | |
| void | sceGuFog (float near, float far, unsigned int color) |
| void | sceGuInit (void) |
| Initalize the GU system. | |
| void | sceGuTerm (void) |
| Shutdown the GU system. | |
| void | sceGuBreak (int a0) |
| void | sceGuContinue (void) |
| void * | sceGuSetCallback (int signal, void(*callback)(int)) |
| Setup signal handler. | |
| void | sceGuSignal (int signal, int behavior) |
| Trigger signal to call code from the command stream. | |
| void | sceGuSendCommandf (int cmd, float argument) |
| Send raw float-command to the GE. | |
| void | sceGuSendCommandi (int cmd, int argument) |
| Send raw command to the GE. | |
| void * | sceGuGetMemory (int size) |
| Allocate memory on the current display list for temporary storage. | |
| void | sceGuStart (int cid, void *list) |
| Start filling a new display-context. | |
| int | sceGuFinish (void) |
| Finish current display list and go back to the parent context. | |
| void | sceGuCallList (const void *list) |
| Call previously generated display-list. | |
| void | sceGuCallMode (int mode) |
| Set wether to use stack-based calls or signals to handle execution of called lists. | |
| int | sceGuCheckList (void) |
| Check how large the current display-list is. | |
| void | sceGuSendList (int mode, const void *list, PspGeContext *context) |
| Send a list to the GE directly. | |
| void * | sceGuSwapBuffers (void) |
| Swap display and draw buffer. | |
| int | sceGuSync (int mode, int a1) |
| Wait until display list has finished executing. | |
| void | sceGuDrawArray (int prim, int vtype, int count, const void *indices, const void *vertices) |
| Draw array of vertices forming primitives. | |
| void | sceGuBeginObject (int vtype, int count, const void *indices, const void *vertices) |
| Begin conditional rendering of object. | |
| void | sceGuEndObject (void) |
| End conditional rendering of object. | |
| void | sceGuSetStatus (int state, int status) |
| Enable or disable GE state. | |
| int | sceGuGetStatus (int state) |
| Get if state is currently enabled or disabled. | |
| void | sceGuSetAllStatus (int status) |
| Set the status on all 22 available states. | |
| int | sceGuGetAllStatus (void) |
| Query status on all 22 available states. | |
| void | sceGuEnable (int state) |
| Enable GE state. | |
| void | sceGuDisable (int state) |
| Disable GE state. | |
| void | sceGuLight (int light, int type, int components, const ScePspFVector3 *position) |
| Set light parameters. | |
| void | sceGuLightAtt (int light, float atten0, float atten1, float atten2) |
| Set light attenuation. | |
| void | sceGuLightColor (int light, int component, unsigned int color) |
| Set light color. | |
| void | sceGuLightMode (int mode) |
| Set light mode. | |
| void | sceGuLightSpot (int light, const ScePspFVector3 *direction, float exponent, float cutoff) |
| Set spotlight parameters. | |
| void | sceGuClear (int flags) |
| Clear current drawbuffer. | |
| void | sceGuClearColor (unsigned int color) |
| Set the current clear-color. | |
| void | sceGuClearDepth (unsigned int depth) |
| Set the current clear-depth. | |
| void | sceGuClearStencil (unsigned int stencil) |
| Set the current stencil clear value. | |
| void | sceGuPixelMask (unsigned int mask) |
| Set mask for which bits of the pixels to write. | |
| void | sceGuColor (unsigned int color) |
| Set current primitive color. | |
| void | sceGuColorFunc (int func, unsigned int color, unsigned int mask) |
| Set the color test function. | |
| void | sceGuColorMaterial (int components) |
| Set which color components that the material will receive. | |
| void | sceGuAlphaFunc (int func, int value, int mask) |
| Set the alpha test parameters. | |
| void | sceGuAmbient (unsigned int color) |
| void | sceGuAmbientColor (unsigned int color) |
| void | sceGuBlendFunc (int op, int src, int dest, unsigned int srcfix, unsigned int destfix) |
| Set the blending-mode. | |
| void | sceGuMaterial (int mode, int color) |
| void | sceGuModelColor (unsigned int emissive, unsigned int ambient, unsigned int diffuse, unsigned int specular) |
| void | sceGuStencilFunc (int func, int ref, int mask) |
| Set stencil function and reference value for stencil testing. | |
| void | sceGuStencilOp (int fail, int zfail, int zpass) |
| Set the stencil test actions. | |
| void | sceGuSpecular (float power) |
| Set the specular power for the material. | |
| void | sceGuFrontFace (int order) |
| Set the current face-order (for culling). | |
| void | sceGuLogicalOp (int op) |
| Set color logical operation. | |
| void | sceGuSetDither (const ScePspIMatrix4 *matrix) |
| Set ordered pixel dither matrix. | |
| void | sceGuShadeModel (int mode) |
| Set how primitives are shaded. | |
| void | sceGuCopyImage (int psm, int sx, int sy, int width, int height, int srcw, void *src, int dx, int dy, int destw, void *dest) |
| Image transfer using the GE. | |
| void | sceGuTexEnvColor (unsigned int color) |
| Specify the texture environment color. | |
| void | sceGuTexFilter (int min, int mag) |
| Set how the texture is filtered. | |
| void | sceGuTexFlush (void) |
| Flush texture page-cache. | |
| void | sceGuTexFunc (int tfx, int tcc) |
| Set how textures are applied. | |
| void | sceGuTexImage (int mipmap, int width, int height, int tbw, const void *tbp) |
| Set current texturemap. | |
| void | sceGuTexLevelMode (unsigned int a0, float f12) |
| void | sceGuTexMapMode (int mode, unsigned int a1, unsigned int a2) |
| Set the texture-mapping mode. | |
| void | sceGuTexMode (int tpsm, int maxmips, int a2, int swizzle) |
| Set texture-mode parameters. | |
| void | sceGuTexOffset (float u, float v) |
| Set texture offset. | |
| void | sceGuTexProjMapMode (int mode) |
| Set texture projection-map mode. | |
| void | sceGuTexScale (float u, float v) |
| Set texture scale. | |
| void | sceGuTexSlope (float slope) |
| void | sceGuTexSync () |
| Synchronize rendering pipeline with image upload. | |
| void | sceGuTexWrap (int u, int v) |
| Set if the texture should repeat or clamp. | |
| void | sceGuClutLoad (int num_blocks, const void *cbp) |
| Upload CLUT (Color Lookup Table). | |
| void | sceGuClutMode (unsigned int cpsm, unsigned int a1, unsigned int a2, unsigned int a3) |
| Set current CLUT mode. | |
| void | sceGuOffset (unsigned int x, unsigned int y) |
| Set virtual coordinate offset. | |
| void | sceGuScissor (int x, int y, int w, int h) |
| Set what to scissor within the current viewport. | |
| void | sceGuViewport (int cx, int cy, int width, int height) |
| Set current viewport. | |
| void | sceGuDrawBezier (int vtype, int ucount, int vcount, const void *indices, const void *vertices) |
| Draw bezier surface. | |
| void | sceGuPatchDivide (unsigned int a0, unsigned int a1) |
| void | sceGuPatchFrontFace (unsigned int a0) |
| void | sceGuPatchPrim (unsigned int a0) |
| void | sceGuDrawSpline (int vtype, int ucount, int vcount, int uedge, int vedge, const void *indices, const void *vertices) |
| void | sceGuSetMatrix (int type, const ScePspFMatrix4 *matrix) |
| Set transform matrices. | |
| void | sceGuBoneMatrix (unsigned int index, const ScePspFMatrix4 *matrix) |
| Specify skinning matrix entry. | |
| void | sceGuMorphWeight (int index, float weight) |
| Specify morph weight entry. | |
| void | sceGuDrawArrayN (int primitive_type, int vertex_type, int count, int a3, const void *indices, const void *vertices) |
| void | guSwapBuffersBehaviour (int behaviour) |
| Set how the display should be set. | |
| void | guSwapBuffersCallback (GuSwapBuffersCallback callback) |
| Set a buffer swap callback to allow for more advanced buffer methods without hacking the library. | |
|
|
Set how the display should be set. Available behaviours are:
Do remember that this swaps the pointers internally, regardless of setting, so be careful to wait until the next vertical blank or use another buffering algorithm (see guSwapBuffersCallback()). |
|
|
Set a buffer swap callback to allow for more advanced buffer methods without hacking the library. The GuSwapBuffersCallback is defined like this: void swapBuffersCallback(void** display, void** render); void* doneBuffer; void swapBuffersCallback(void** display, void** render) { void* active = doneBuffer; doneBuffer = *display; *display = active; }
|
|
||||||||||||||||
|
Set the alpha test parameters. Available comparison functions are:
|
|
|
|
|
|
|
|
||||||||||||||||||||
|
Begin conditional rendering of object. If no vertices passed into this function are inside the scissor region, it will skip rendering the object. There can be up to 32 levels of conditional testing, and all levels HAVE to be terminated by sceGuEndObject().
|
|
||||||||||||||||||||||||
|
Set the blending-mode. Keys for the blending operations:
Available blending-operations are:
Available blending-functions are:
|
|
||||||||||||
|
Specify skinning matrix entry. To enable vertex skinning, pass GU_WEIGHTS(n), where n is between 1-8, and pass available GU_WEIGHT_??? declaration. This will change the amount of weights passed in the vertex araay, and by setting the skinning, matrices, you will multiply each vertex every weight and vertex passed. Please see sceGuDrawArray() for vertex format information.
|
|
|
|
|
|
Call previously generated display-list.
|
|
|
Set wether to use stack-based calls or signals to handle execution of called lists.
|
|
|
Check how large the current display-list is.
|
|
|
Clear current drawbuffer. Available clear-flags are (OR them together to get final clear-mode):
|
|
|
Set the current clear-color.
|
|
|
Set the current clear-depth.
|
|
|
Set the current stencil clear value.
|
|
||||||||||||
|
Upload CLUT (Color Lookup Table).
|
|
||||||||||||||||||||
|
Set current CLUT mode. Available pixel formats for palettes are:
|
|
|
Set current primitive color.
|
|
||||||||||||||||
|
Set the color test function. The color test is only performed while GU_COLOR_TEST is enabled. Available functions are:
|
|
|
Set which color components that the material will receive. The components are ORed together from the following values:
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||
|
Image transfer using the GE.
|
|
||||||||||||
|
Set depth buffer parameters.
|
|
|
Select which depth-test function to use. Valid choices for the depth-test are:
|
|
|
Mask depth buffer writes.
|
|
|
|
|
||||||||||||
|
Set which range to use for depth calculations.
sceGuDepthRange(65535,0);
|
|
|
Disable GE state. Look at sceGuEnable() for a list of states
|
|
||||||||||||||||||||
|
Set display buffer parameters.
|
|
|
Turn display on or off. Available states are:
|
|
||||||||||||||||||||||||
|
Draw array of vertices forming primitives. Available primitive-types are:
The vertex-type decides how the vertices align and what kind of information they contain. The following flags are ORed together to compose the final vertex format:
|
|
||||||||||||||||||||||||||||
|
|
|
||||||||||||||||||||||||
|
Draw bezier surface.
|
|
||||||||||||||||
|
Set draw buffer parameters (and store in context for buffer-swap). Available pixel formats are:
|
|
||||||||||||||||
|
Set draw buffer directly, not storing parameters in the context.
|
|
||||||||||||||||||||||||||||||||
|
|
|
|
Enable GE state. The currently available states are:
|
|
|
End conditional rendering of object.
|
|
|
Finish current display list and go back to the parent context. If the context is GU_DIRECT, the stall-address is updated so that the entire list will execute. Otherwise, only the terminating action is written to the list, depending on context-type. This also restores control back to whatever context that was active prior to this call.
|
|
||||||||||||||||
|
|
|
|
Set the current face-order (for culling). This only has effect when culling is enabled (GU_CULL_FACE) Culling order can be:
|
|
|
Query status on all 22 available states. Look at sceGuEnable() for a list of states
|
|
|
Allocate memory on the current display list for temporary storage.
|
|
|
Get if state is currently enabled or disabled. Look at sceGuEnable() for a list of states
|
|
|
Initalize the GU system. This function MUST be called as the first function, otherwise state is undetermined. |
|
||||||||||||||||||||
|
Set light parameters. Available light types are:
Available light components are:
|
|
||||||||||||||||||||
|
Set light attenuation.
|
|
||||||||||||||||
|
Set light color. Available light components are:
|
|
|
Set light mode. Available light modes are:
Separate specular colors are used to interpolate the specular component independently, so that it can be added to the fragment after the texture color.
|
|
||||||||||||||||||||
|
Set spotlight parameters.
|
|
|
Set color logical operation. Available operations are:
This operation only has effect if GU_COLOR_LOGIC_OP is enabled.
|
|
||||||||||||
|
|
|
||||||||||||||||||||
|
|
|
||||||||||||
|
Specify morph weight entry. To enable vertex morphing, pass GU_VERTICES(n), where n is between 1-8. This will change the amount of vertices passed in the vertex array, and by setting the morph weights for every vertex entry in the array, you can blend between them. Please see sceGuDrawArray() for vertex format information.
|
|
||||||||||||
|
Set virtual coordinate offset. The PSP has a virtual coordinate-space of 4096x4096, this controls where rendering is performed
|
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
Set mask for which bits of the pixels to write.
|
|
||||||||||||||||||||
|
Set what to scissor within the current viewport. Note that scissoring is only performed if the custom scissoring is enabled (GU_SCISSOR_TEST)
|
|
||||||||||||
|
Send raw float-command to the GE. The argument is converted into a 24-bit float before transfer.
|
|
||||||||||||
|
Send raw command to the GE. Only the 24 lower bits of the argument is passed along.
|
|
||||||||||||||||
|
Send a list to the GE directly. Available modes are:
|
|
|
Set the status on all 22 available states. Look at sceGuEnable() for a list of states
|
|
||||||||||||
|
Setup signal handler. Available signals are:
|
|
|
Set ordered pixel dither matrix. This dither matrix is only applied if GU_DITHER is enabled.
|
|
||||||||||||
|
Set transform matrices. Available matrices are:
|
|
||||||||||||
|
Enable or disable GE state. Look at sceGuEnable() for a list of states
|
|
|
Set how primitives are shaded. The available shading-methods are:
|
|
||||||||||||
|
Trigger signal to call code from the command stream. Available behaviors are:
|
|
|
Set the specular power for the material.
|
|
||||||||||||
|
Start filling a new display-context. Contexts available are:
The previous context-type is stored so that it can be restored at sceGuFinish().
|
|
||||||||||||||||
|
Set stencil function and reference value for stencil testing. Available functions are:
|
|
||||||||||||||||
|
Set the stencil test actions. Available actions are:
As stencil buffer shares memory with framebuffer alpha, resolution of the buffer is directly in relation.
|
|
|
Swap display and draw buffer.
|
|
||||||||||||
|
Wait until display list has finished executing.
|
|
|
Shutdown the GU system. Called when GU is no longer needed |
|
|
Specify the texture environment color. This is used in the texture function when a constant color is needed. See sceGuTexFunc() for more information.
|
|
||||||||||||
|
Set how the texture is filtered. Available filters are:
|
|
|
Flush texture page-cache. Do this if you have copied/rendered into an area currently in the texture-cache |
|
||||||||||||
|
Set how textures are applied. Key for the apply-modes:
Available apply-modes are: (TFX)
The fields TCC_RGB and TCC_RGBA specify components that differ between the two different component modes.
Available component-modes are: (TCC)
|
|
||||||||||||||||||||||||
|
Set current texturemap. Textures may reside in main RAM, but it has a huge speed-penalty. Swizzle textures to get maximum speed.
|
|
||||||||||||
|
|
|
||||||||||||||||
|
Set the texture-mapping mode. Available modes are:
|
|
||||||||||||||||||||
|
Set texture-mode parameters. Available texture-formats are:
|
|
||||||||||||
|
Set texture offset.
|
|
|
Set texture projection-map mode. Available modes are:
|
|
||||||||||||
|
Set texture scale.
|
|
|
|
|
|
Synchronize rendering pipeline with image upload. This will stall the rendering pipeline until the current image upload initiated by sceGuCopyImage() has completed. |
|
||||||||||||
|
Set if the texture should repeat or clamp. Available modes are:
|
|
||||||||||||||||||||
|
Set current viewport.
|
1.4.6